Binary raster printers utilize combinations of on and off dots to create print images. Such binary printers are commonly called upon to reproduce gray scale images, even though many such images contain much more information than is possible to be reproduced in a binary format. To convert a gray level image to a binary image, prior art printers have employed dither matrices. A dither matrix is a two dimensional arrangement of threshold values. The dither matrix shape may be square, rectangular, or any other shape which enables it to be "overlaid" (in a logical graphic sense) onto a multi-pixel gray level image. A gray level image comprises a matrix of pixels (picture elements), each pixel of which is represented by a multi-bit value indicative of a gray level. A dither matrix value which "overlays" a gray level image pixel value enables a computer to determine whether the respective gray level image value is to be converted to an on dot or an off dot in the ultimate binary raster image.
More specifically, each pixel position in a dither matrix is overlaid logically onto a graphical image and is assigned a threshold value which, when compared to the gray level image pixel value (in the underlying image), causes that gray level value to be converted to an on or off dot on the rendered media. Since the dither matrix is generally smaller in size than the entire gray level image, the dither matrix is logically "tiled" or logically replicated across the gray level image until the entire gray level image is "covered" with replicated dither matrices. Conversion or rendering into a binary image proceeds as aforementioned. One skilled in the art will realize that the description of this prior art process is strictly conceptual and that the actual processing of the gray level image and its comparison with the threshold values of the dither matrix is handled in a manner to assure comparison of correspondingly located gray level pixel values with the "overlaid" dither matrix values, but not necessarily in the manner described in the conceptual example given above.
The application of a dither matrix to a gray level image often occurs in printer hardware. Host processors, however, do not necessarily represent images using the same number of gray level values. Thus, printers should preferably be capable of rendering input images which include an indeterminate number of gray levels to represent image pixel values. If the number of gray level pixel values exactly equals the number of pixel positions in a dither matrix, then there is no need to modify the dither matrix to achieve a gray level to binary level image conversion. When such an equality exists, the logical tiling of the dither matrix across the gray level image results in multiple logical repeats of the dither matrix pattern across the image. The resulting binary image will, as a result, often display regularly occurring alias bands or patterns, especially when continuous gray levels are present in the original image. Avoidance of such alias bands and patterns is desirable.
Accordingly, it is an object of this invention to provide an improved method for converting a gray level pixel image to a binary level pixel image, wherein the gray level image may include an indeterminate number of gray level values.
It is another object of this invention to provide an improved method of gray level to binary level pixel image conversion wherein noise bands and strong patterns may be reduced in the resulting binary image.
It is yet another object of this invention to provide an improved method for converting a gray level raster image to a binary level image wherein the size of a dither matrix and the number of gray level values are not equal.